#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>



int main(){
    printf("stdin->fd:%d\n",stdin->_fileno);
    printf("stdout->fd:%d\n",stdout->_fileno);
    printf("stderr->fd:%d\n",stderr->_fileno);
    return 0;
}
//int main()
//{
//    char buff[1024];
//    size_t s = read(0,buff,sizeof(buff));
//    if(s<0)return 1;
//   buff[s]='\0';
//    printf("echo:%s\n",buff);
//    //const char*mesg="hello Linux\n";
//    //write(2,mesg,strlen(mesg));
//    //write(1,mesg,strlen(mesg));
//    return 0;
//}
//int main(){
//    umask(0);
//    //int fd=open("log.txt",O_WRONLY|O_CREAT|O_TRUNC,0666);
//    int fd=open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//    if(fd<0){
//        printf("open file err\n");
//        return 1;
//    }
//    const char*message="hello open system call\n";
//    write(fd,message,strlen(message));
//    close(fd);
//    return 0;
//}

//#define ONE (1<<0)
//#define TWO (1<<1)
//#define THREE (1<<2)
//#define FOUR (1<<3)

//void show(int flags){
//    if(flags&ONE)printf("hello function1\n");
//    if(flags&TWO)printf("hello function2\n");
//    if(flags&THREE)printf("hello function3\n");
//    if(flags&FOUR)printf("hello function4\n");
//}
//int main(){
//    printf("-----------------------\n");
//    show(ONE);
//    printf("-----------------------\n");
//    show(ONE|TWO);
//    printf("-----------------------\n");
//    show(ONE|TWO|THREE);
//    printf("-----------------------\n");
//    show(FOUR|ONE);
//    printf("-----------------------\n");
//    return 0;
//}

//int main(){
//    //chdir("/home/yzx/linux-system-programming/lesson27/d1/d2");
//    printf("pid:%d\n",getpid());
//    FILE*fp=fopen("log.txt","a");
//    if(fp==NULL){
//        perror("fopen");
//        return 1;
//    }
//    const char *message="hello Linux message\n";
//    fwrite(message,1,strlen(message),fp);
//    fclose(fp);
////    sleep(1000);
//    return 0;
//}
